package com.jun.common.redis.aspect.anno;

import java.lang.annotation.*;

/**
 * @author yuejun.li
 * @date 2024/7/15 21:25
 * redis延迟双删注解
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface RedisDoubleClear {

    /**
     * key
     */
    String name() default "";

    /**
     * 是否需要模糊匹配
     */
    boolean isPattern() default true;


    /**
     * 用自定义线程池去异步跑双删，为空则new一个新线程
     */
    String threadPoolName() default "";

    @Documented
    @Retention(RetentionPolicy.RUNTIME)
    @Target(ElementType.PARAMETER)
    @interface RedisDoubleClearParam {
        /**
         * 参数名
         */
        String paramName() default "";
    }
}
